A flash eraseable programmable read only memory is a memory device containing many sectors and which is sector erasable and byte programmable. The memory device is typically divided into a plurality of volumes which are the unit eraseble quantity of memory on a given piece of hardware. A volume may be a single sector or multiple sectors of a storage space representing the capacity of the memory. Prior to writing to, or programming, a location within the memory device, the volume within which the location is found must be first erased and then the whole volume is rewritten to include the programmed location. Thus, programming of a single location requires an erase cycle of the volume within which the single location is located and a write time to rewrite the erased volume. Typical erase cycles take approximately one second to complete, an eternity to a computer system in processing information.
The erasing of a complete volume every time a location is programmed occurs due to a file system of the memory device. The file system of a memory device determines the arrangement of data files within the memory space of the memory device. Operations with respect to the file system include formatting the file system and creating, writing, reading, appending to, and deleting data files. A data file may have associated with it a directory entry and a volume entry that reside in the memory device as control blocks. The directory entry describes aspects and attributes of the associated data file and the volume entry describes the underlying technology of the memory device. Typically, the control blocks for the directory entry and volume entry of an associated data file are stored within the same volume as the associated data file in accordance with the file system of the memory device. Such file system structure leads to time consuming erasure and rewriting of entire volumes of the memory device even though only a single location may be programmed. Therefore, it is desirable to have a memory device which does not require a lengthy erasure of an entire volume when programming a single location within memory device.